Corporations and other enterprises commonly implement their business services on computer systems using a tiered architecture model that provides benefits such as reusability, flexibility, manageability, maintainability, and scalability for a business service application. The tiered architecture model segments an application's components into three tiers of services: the presentation or visualization tier, the middle or business logic tier, and the data or resource tier. These tiers do not necessarily correspond to physical locations on various computers on a network, but rather to logical layers of the application.
The visualization tier or layer provides an interface for the end user into the application. The business logic tier or layer (also referenced as the application layer) typically includes application specific code or components for enforcing a set of business and data rules used to implement a given business service. The resource tier is a data management layer for storing and retrieving information or persistent data usually stored in a database or in permanent storage.
In one implementation of the tiered architecture model, the application layer is operatively connected to the resource layer through information model nodes, which function as an interim translation layer for access to the persistent data that reside in the resource tier. An information model typically describes the combination of a data model (one type of information model node) and a content model (another type of information model node) together with one or more associations between information model nodes. A data model describes the techniques for describing well structured data within an application. For example, the technique or structure for formatting a paragraph in a document created using the Microsoft® Word application may be represented in a data model. A content model is a set of meta data that describes unstructured data, such as data that a user writes in a document described by a given information model. The meta data of the content model may describe associations between the unstructured data as well as information about the unstructured data. For example, the content model for the document created using the Microsoft® Word application may define meta data to include author, date created, data classification (e.g., letter, diagram, spreadsheet, etc.).
One of the problems the information model creates, however, is scalable access from the application layer. For example, a particular business service application may have access to thousands of information model nodes, each of which may have one or more associations to other information model nodes. Thus, a query or request by a user to view data related to one or more information model nodes typically requires significant time using traditional data access techniques, such as read through caching via a relational database management system (“RDBMS”). Furthermore, associations between the information models often lead to cache “bleed.” Cache “bleed” occurs when an information model consists of a significant number of nodes and caching two disparate nodes connected by many other associated nodes causes the cache manager to store in cache memory all of the associated nodes in order to retrieve and store the desired two disparate nodes for access by the corresponding business application manager. Since conventional cache memory is a finite size, the cache manager is unable to store (e.g., “bleeds out”) other nodes that would be of value to cache for the business service application.
Therefore, a need has long existed for a method and a system that overcome the problems noted above and others previously experienced.